package com.dushibao.admin.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.List;

/**
 *  菜单 实体类
 *
 * @author zqd
 * @date 2021-12-07 08:28:35
 */
@Data
@Accessors(chain = true)
@TableName(value = "t_menu")
public class Menu {

    private static final long serialVersionUID = 1L;

    /** 主键ID **/
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 入库时间 **/
    @TableField(value = "addTime")
    private java.util.Date addTime;

    /** 是否删除,默认为0未删除，-1表示删除状态 **/
    @TableField(value = "deleteStatus")
    private Integer deleteStatus;

    /** 菜单名称 **/
    @TableField(value = "name")
    private String name;

    /** 菜单地址 **/
    @TableField(value = "url")
    private String url;

    /** ADMIN、SELLER、BUYER **/
    @TableField(value = "type")
    private String type;

    /** 操作标识 **/
    @TableField(value = "ovalue")
    private String ovalue;

    /** 父菜单 **/
    @TableField(value = "parent_id")
    private Long parentId;

    /** 图标 **/
    @TableField(value = "icon")
    private String icon;

    /**
     *
     * 子菜单
     * 是否为数据库表字段
     * 默认 true 存在，false 不存在
     */
    @TableField(exist = false)
    private List<Menu> childs;

    /**
     * 父菜单
     * 是否为数据库表字段
     * 默认 true 存在，false 不存在
     */
    @TableField(exist = false)
    private Menu parent;

}
